#import <Cocoa/Cocoa.h>
#import <OpenGL/CGLRenderers.h>
#import <OpenGL/gl.h>
#import <OpenGL/glext.h>
#import <OpenGL/glu.h>
#import <OpenGL/OpenGL.h>
#import <GLUT/glut.h>

#import "Exhibit.h"
#import "BrickShader.h"
#import "Mandelbrot.h"
#import "Podium.h"

/* The OpenGL View */
@interface OpenGLView : NSOpenGLView {
	float angle;
	float pitch;
	float zoom;
	float exhibit_height;
	
	double lastFrameReferenceTime;
	bool leftMouseIsDown;
	bool rightMouseIsDown;
	NSPoint lastMousePoint;
	
	Exhibit *current_exhibit; /* Currently dispayed exhibit */
	Exhibit *target_exhibit;  /* Target exhibit during a transition */
	Podium  *podium;
	
	NSTimer *timer;
}

- (id) initWithFrame: (NSRect) theFrame;
- (void) dealloc;
- (void) drawRect: (NSRect) theRect;
- (void) setExhibit: (Exhibit *) new_exhibit;

@end
